package net.ibizsys.modelingadv.advance.service;

import java.util.List;
import org.springframework.data.domain.Page;

import net.ibizsys.modelingadv.advance.dto.pssysadvsetting.PSSysAdvSettingDTO;
import net.ibizsys.modelingadv.advance.dto.pssysadvsetting.PSSysAdvSettingFilterDTO;

/**
 * 实体[PSSYSADVSETTING]服务对象接口
 * 
 * 可通过实体运行时对象[PSSysAdvSettingDERuntime]进行功能扩展
 */
public interface IPSSysAdvSettingService extends net.ibizsys.central.dataentity.service.IDEService<PSSysAdvSettingDTO, PSSysAdvSettingFilterDTO>{

    /**
     * 行为: Create
     */
    String ACTION_CREATE = "Create";
    /**
     * 行为: Update
     */
    String ACTION_UPDATE = "Update";
    /**
     * 行为: Remove
     */
    String ACTION_REMOVE = "Remove";
    /**
     * 行为: Get
     */
    String ACTION_GET = "Get";
    /**
     * 行为: GetDraft
     */
    String ACTION_GETDRAFT = "GetDraft";
    /**
     * 行为: 创建导出系统模型任务
     */
    String ACTION_X_ADDEXPORTSYSMODELTASK = "X_ADDEXPORTSYSMODELTASK";
    /**
     * 行为: 创建导入系统模型任务
     */
    String ACTION_X_ADDIMPORTSYSMODELTASK = "X_ADDIMPORTSYSMODELTASK";
    /**
     * 行为: CheckKey
     */
    String ACTION_CHECKKEY = "CheckKey";
    /**
     * 行为: 导出模型
     */
    String ACTION_EXPMODELGIT = "ExpModelGit";
    /**
     * 行为: 获取详细信息
     */
    String ACTION_GETSETTINGINFO = "GetSettingInfo";
    /**
     * 行为: GitRegister
     */
    String ACTION_GITREGISTER = "GitRegister";
    /**
     * 行为: GitSync
     */
    String ACTION_GITSYNC = "GitSync";
    /**
     * 行为: GitSync2
     */
    String ACTION_GITSYNC2 = "GitSync2";
    /**
     * 行为: 导入模型
     */
    String ACTION_IMPMODELGIT = "ImpModelGit";
    /**
     * 行为: InstallSys
     */
    String ACTION_INSTALLSYS = "InstallSys";
    /**
     * 行为: Save
     */
    String ACTION_SAVE = "Save";
    /**
     * 行为: 保存设置信息
     */
    String ACTION_SAVESETTINGINFO = "SaveSettingInfo";
    /**
     * 行为: UninstallSys
     */
    String ACTION_UNINSTALLSYS = "UninstallSys";
    /**
     * 查询: 数据查询
     */
    String DATAQUERY_DEFAULT = "DEFAULT";
    /**
     * 查询: 默认（全部数据）
     */
    String DATAQUERY_VIEW = "VIEW";
    /**
     * 集合: 数据集
     */
    String DATASET_DEFAULT = "DEFAULT";

    /**
     * 行为: Create
     *
     */
    void create(PSSysAdvSettingDTO dto) throws Throwable;
    /**
     * 行为: Update
     *
     */
    void update(PSSysAdvSettingDTO dto) throws Throwable;
    /**
     * 行为: Remove
     *
     */
    void remove(List<String> keys) throws Throwable;
    /**
     * 行为: Get
     *
     */
    PSSysAdvSettingDTO get(String key) throws Throwable;
    /**
     * 行为: GetDraft
     *
     */
    PSSysAdvSettingDTO getDraft(PSSysAdvSettingDTO dto) throws Throwable;
    /**
     * 行为: 创建导出系统模型任务
     *
     */
    void addExportSysModelTask(PSSysAdvSettingDTO dto) throws Throwable;
    /**
     * 行为: 创建导入系统模型任务
     *
     */
    void addImportSysModelTask(PSSysAdvSettingDTO dto) throws Throwable;
    /**
     * 行为: CheckKey
     *
     */
    Integer checkKey(PSSysAdvSettingDTO dto) throws Throwable;
    /**
     * 行为: 导出模型
     *
     */
    void expModelGit(PSSysAdvSettingDTO dto) throws Throwable;
    /**
     * 行为: 获取详细信息
     *
     */
    PSSysAdvSettingDTO getSettingInfo(String key) throws Throwable;
    /**
     * 行为: GitRegister
     *
     */
    void gitRegister(PSSysAdvSettingDTO dto) throws Throwable;
    /**
     * 行为: GitSync
     *
     */
    void gitSync(PSSysAdvSettingDTO dto) throws Throwable;
    /**
     * 行为: GitSync2
     *
     */
    void gitSync2(PSSysAdvSettingDTO dto) throws Throwable;
    /**
     * 行为: 导入模型
     *
     */
    void impModelGit(PSSysAdvSettingDTO dto) throws Throwable;
    /**
     * 行为: InstallSys
     *
     */
    void installSys(PSSysAdvSettingDTO dto) throws Throwable;
    /**
     * 行为: Save
     *
     */
    void save(PSSysAdvSettingDTO dto) throws Throwable;
    /**
     * 行为: 保存设置信息
     *
     */
    void saveSettingInfo(PSSysAdvSettingDTO dto) throws Throwable;
    /**
     * 行为: UninstallSys
     *
     */
    void uninstallSys(PSSysAdvSettingDTO dto) throws Throwable;

    /**
     * 集合: 数据集
     *
     */
    Page<PSSysAdvSettingDTO> fetchDefault(PSSysAdvSettingFilterDTO dto) throws Throwable; 
}
